package com.santu.edu.supporter.biz.order.wm.service;

import com.santu.edu.supporter.biz.order.common.pojo.enums.OrderPayStatusEnum;
import com.santu.edu.supporter.biz.order.common.pojo.enums.OrderStatusEnum;
import com.santu.edu.supporter.biz.order.wm.pojo.dto.WmOrderDTO;
import com.santu.edu.supporter.biz.order.wm.pojo.params.WmOrderAddParam;
import com.santu.edu.supporter.biz.order.wm.pojo.params.WmOrderUpdateParam;
import com.santu.edu.supporter.util.PageData;

/**
 * @author luoyaoqi
 * @createTime 2024/2/22
 * @description
 */
public interface WmOrderService {
    /**
     * 添加订单
     * @param addParam
     * @return
     */
    Boolean addOrder(WmOrderAddParam addParam);

    /**
     * 更新订单
     * @param updateParam
     * @return
     */
    Boolean updateOrder(WmOrderUpdateParam updateParam);

    /**
     * 取消订单
     * @param orderId
     * @return
     */
    Boolean cancelOrder(String orderId);

    /**
     * 获取订单列表
     * @param schoolId
     * @param userId
     * @param orderType
     * @param page
     * @param size
     * @return
     */
    PageData<WmOrderDTO> getOrderList(String schoolId, String userId, Integer orderType, int page, int size);

    /**
     * 更新订单支付状态
     * @param orderId
     * @param orderStatus
     * @param nowOrderStatus
     */
    void updateOrderStatus(String orderId, OrderStatusEnum orderStatus,OrderStatusEnum nowOrderStatus);

}
